home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / QuickTime / QuickTime 3 Interfaces & Libs / QTDevMac / CIncludes / QD3DAcceleration.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-08-21  |  3.0 KB  |  122 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        QD3DAcceleration.h
  3.  
  4.      Contains:    Header file for low-level 3D driver API                            
  5.  
  6.      Version:    Technology:    Quickdraw 3D 1.5.4
  7.                  Release:    QuickTime 3.0
  8.  
  9.      Copyright:    © 1995-1998 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. */
  18. #ifndef __QD3DACCELERATION__
  19. #define __QD3DACCELERATION__
  20.  
  21. #ifndef __QD3D__
  22. #include <QD3D.h>
  23. #endif
  24.  
  25.  
  26.  
  27. #if PRAGMA_ONCE
  28. #pragma once
  29. #endif
  30.  
  31. #ifdef __cplusplus
  32. extern "C" {
  33. #endif
  34.  
  35. #if PRAGMA_IMPORT
  36. #pragma import on
  37. #endif
  38.  
  39. #if PRAGMA_STRUCT_ALIGN
  40.     #pragma options align=power
  41. #elif PRAGMA_STRUCT_PACKPUSH
  42.     #pragma pack(push, 2)
  43. #elif PRAGMA_STRUCT_PACK
  44.     #pragma pack(2)
  45. #endif
  46.  
  47. #if PRAGMA_ENUM_ALWAYSINT
  48.     #pragma enumsalwaysint on
  49. #elif PRAGMA_ENUM_OPTIONS
  50.     #pragma option enum=int
  51. #elif PRAGMA_ENUM_PACK
  52.     #if __option(pack_enums)
  53.         #define PRAGMA_ENUM_PACK__QD3DACCELERATION__
  54.     #endif
  55.     #pragma options(!pack_enums)
  56. #endif
  57.  
  58. /******************************************************************************
  59.  **                                                                             **
  60.  **                         Vendor ID definitions                             **
  61.  **                                                                             **
  62.  *****************************************************************************/
  63. /*
  64.  * If kQAVendor_BestChoice is used, the system chooses the "best" drawing engine
  65.  * available for the target device. This should be used for the default.
  66.  */
  67. #define kQAVendor_BestChoice        (-1)
  68. /*
  69.  * The other definitions (kQAVendor_Apple, etc.) identify specific vendors
  70.  * of drawing engines. When a vendor ID is used in conjunction with a
  71.  * vendor-defined engine ID, a specific drawing engine can be selected.
  72.  */
  73. #define kQAVendor_Apple            0
  74. #define kQAVendor_ATI            1
  75. #define kQAVendor_Radius        2
  76. #define kQAVendor_Mentor        3        /* Mentor Software, Inc. */
  77. #define kQAVendor_Matrox        4
  78. #define kQAVendor_Yarc            5
  79. #define kQAVendor_DiamondMM        6
  80. #define kQAVendor_3DLabs        7
  81. #define kQAVendor_D3DAdaptor    8
  82. #define kQAVendor_IXMicro        9
  83. /******************************************************************************
  84.  **                                                                             **
  85.  **                         Apple's engine ID definitions                         **
  86.  **                                                                             **
  87.  *****************************************************************************/
  88. #define kQAEngine_AppleSW        0        /* Default software rasterizer */
  89. #define kQAEngine_AppleHW        (-1)    /* Apple accelerator */
  90. #define kQAEngine_AppleHW2        1        /* Another Apple accelerator */
  91. #define kQAEngine_AppleHW3        2        /* Another Apple accelerator */
  92.  
  93.  
  94. #if PRAGMA_ENUM_ALWAYSINT
  95.     #pragma enumsalwaysint reset
  96. #elif PRAGMA_ENUM_OPTIONS
  97.     #pragma option enum=reset
  98. #elif defined(PRAGMA_ENUM_PACK__QD3DACCELERATION__)
  99.     #pragma options(pack_enums)
  100. #endif
  101.  
  102. #if PRAGMA_STRUCT_ALIGN
  103.     #pragma options align=reset
  104. #elif PRAGMA_STRUCT_PACKPUSH
  105.     #pragma pack(pop)
  106. #elif PRAGMA_STRUCT_PACK
  107.     #pragma pack()
  108. #endif
  109.  
  110. #ifdef PRAGMA_IMPORT_OFF
  111. #pragma import off
  112. #elif PRAGMA_IMPORT
  113. #pragma import reset
  114. #endif
  115.  
  116. #ifdef __cplusplus
  117. }
  118. #endif
  119.  
  120. #endif /* __QD3DACCELERATION__ */
  121.  
  122.